package com.xayy.scheduled.model;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.*;
import java.io.Serializable;
import java.util.Date;
import java.time.LocalDateTime;

import java.math.BigDecimal;

import cn.kawins.mybatis.base.BaseModel;
import cn.kawins.mybatis.interceptor.FillingCreateTime;
import cn.kawins.mybatis.interceptor.InsertAutoFilling;
import cn.kawins.mybatis.interceptor.UpdateAutoFilling;
import cn.kawins.mybatis.util.SnowflakeId;
import io.swagger.annotations.ApiModelProperty;
import tk.mybatis.mapper.annotation.KeySql;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
/**
* @ClassName: AssessTaskInfo
* @Description: 实体类
* @author zhoutanxin
* @date 2025-06-24
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Table(name = "HEALTH_XW.assess_task_info")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AssessTaskInfo extends BaseModel<Long> implements Serializable  {
    private static final long serialVersionUID = 1L;
        /**
        * 主键
        */
        @Id
        @Column(name = "id")
        @ApiModelProperty(value = "主键")
        @JsonSerialize(using= ToStringSerializer.class)
        private Long id;
        /**
        * 任务名称
        */
        @ApiModelProperty(value = "任务名称")
        @Column(name = "task_name")
        private String taskName;
        /**
        * 评估开始时间
        */
        @ApiModelProperty(value = "评估开始时间")
        @Column(name = "start_time")
        private Date startTime;
        /**
        * 评估结束时间
        */
        @ApiModelProperty(value = "评估结束时间")
        @Column(name = "end_time")
        private Date endTime;
        /**
        * 评估指标体系主键（从现有指标体系当中选择）
        */
        @ApiModelProperty(value = "评估指标体系主键（从现有指标体系当中选择）")
        @Column(name = "index_system_id")
        private Long indexSystemId;
        /**
        * 健康评估分数
        */
        @ApiModelProperty(value = "健康评估分数")
        @Column(name = "health_score")
        private Double healthScore;
        /**
        * 健康分析描述（主要描述扣分点）
        */
        @ApiModelProperty(value = "健康分析描述（主要描述扣分点）")
        @Column(name = "health_analysis")
        private String healthAnalysis;
        /**
        * Bean名称
        */
        @ApiModelProperty(value = "Bean名称")
        @Column(name = "bean_name")
        private String beanName;
        /**
        * 方法名称
        */
        @ApiModelProperty(value = "方法名称")
        @Column(name = "method_name")
        private String methodName;
        /**
        * 方法入参
        */
        @ApiModelProperty(value = "方法入参")
        @Column(name = "method_params")
        private String methodParams;
        /**
        * Cron表达式
        */
        @ApiModelProperty(value = "Cron表达式")
        @Column(name = "cron_expression")
        private String cronExpression;
        /**
        * 任务状态
        */
        @ApiModelProperty(value = "任务状态")
        @Column(name = "task_status")
        private String taskStatus;
        /**
        * 任务类型
        */
        @ApiModelProperty(value = "任务类型")
        @Column(name = "task_type")
        private String taskType;
        /**
        * 备注
        */
        @ApiModelProperty(value = "备注")
        @Column(name = "remark")
        private String remark;
        /**
        * 
        */
        @UpdateAutoFilling(value = FillingCreateTime.class)
        @ApiModelProperty(value = "")
        @Column(name = "update_time")
        private Date updateTime;
        /**
        * 
        */
        @InsertAutoFilling(value = FillingCreateTime.class)
        @ApiModelProperty(value = "")
        @Column(name = "create_time")
        private Date createTime;
}